Alerting users to items of current interest

ABSTRACT

Disseminating to a participant an indication that an item accessible by the participant via a network is of current interest is disclosed. An indication that the item is of current interest is received in real time. The indication is processed. The participant is informed that the item is of current interest.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional PatentApplication No. 60/178,627 entitled “Alerting Users To Web Sites OfCurrent Interest And Handling Large Increases In User Traffic” filedJan. 28, 2000 which is incorporated herein by reference for allpurposes.

[0002] This application is related to co-pending U.S. patent applicationSer. No. ______ (Attorney Docket No. INT1P209) entitled “Quantifying TheLevel Of Interest Of An Item Of Current Interest” filed concurrentlyherewith, which is incorporated herein by reference for all purposes;and co-pending U.S. patent application Ser. No. ______ (Attorney DocketNo. INT1P210) entitled “Normalizing A Measure Of The Level Of CurrentInterest Of An Item Accessible Via A Network” filed concurrentlyherewith, which is incorporated herein by reference for all purposes.

FIELD OF THE INVENTION

[0003] The present invention relates generally to communications andcomputer networks. More specifically, alerting users to dynamic contentaccessible via a communications or computer network that is of interestat the time of the alert is disclosed.

BACKGROUND OF THE INVENTION

[0004] The use of the Internet, and in particular the World Wide Web,and other communication and computer networks has grown dramatically inrecent years. The emergence of technologies for broader bandwidthcommunications, better compression technology, and new and lessexpensive digital recording and imaging technology, have all contributedto explosive growth in the volume and diversity of content available viacommunication and/or computer networks, such as the World Wide Web.

[0005] However, this proliferation of content, such as audio, image, andvideo content, presents certain challenges from the perspective of usersseeking content of current interest. First, the shear volume of contentavailable makes it difficult for users to find the content in which theyare most interested in accessing at any given time. Apart from having tosort through the enormous volume of content available, much of thecontent of potentially greatest interest, at least to many users, isdynamic. At certain times, a file or other electronic resource may be ofgreat interest while at other times, or perhaps even most of the time,it is not of great interest or not interesting at all.

[0006] For example, thousands of and perhaps in excess of a hundredthousand web cameras, or “webcams”, are in use. Webcams are cameras usedto provide images of a target of interest via a site on the World WideWeb. Images are updated in varying manners and at varying intervals,depending on the site. A webcam might be used, for example, to provideimages of a watering hole in Africa. Typically, users would access awebsite associated with the webcam to view activity at the wateringhole. However, there would be many periods during which nothing ofparticular interest (e.g., no animals, etc.) would be happening at thewatering hole. Conversely, there would be occasional periods whenactivity of great interest would be occurring, such as the presence of arare or endangered animal at the watering hole. Users would have no wayof knowing when such activity would be occurring, and might miss themost interesting images if they did not happen to check the website atthe right time. The same problems arise with respect to files or otherelectronic resources other than webcam content provided via the WorldWide Web, including other media such as audio.

[0007] As a result, there is a need for a way to alert users to webcontent or other electronic resources available via a communications orcomputer network that are of interest at a particular time. To meet thislatter need, there is a need to provide a way to become aware thatdynamic web content or an electronic resource other than web content isof interest at a given time, and to quantify the degree or level ofcurrent interest. In addition, there is a need to consider the interestsof a user when determining which web content or other electronicresources likely will be of the greatest interest to the user.

[0008] There is also a need to ensure that interested users receivealerts with respect to web content or other electronic resources thatare of interest only to a relatively small community of users, or thatare of interest on only relatively rare or infrequent occasions. Thereis a risk, otherwise, that indications of current interest regardingsuch files and other electronic resources would be masked by morevoluminous or frequent activity with respect to more widely popular orpervasive resources or types of resources (such as pornography sites onthe World Wide Web).

SUMMARY OF THE INVENTION

[0009] Accordingly, alerting users of items of current interest isdisclosed. The level of current interest of a particular file or otherelectronic resource is determined based on indications received fromalerting users. One or more users receive an alert that the item is ofcurrent interest. Normalization of the level of current interest of afile or other resource, such as to adjust for items of current interestto a small community or for items of current interest only infrequently,also is described.

[0010] It should be appreciated that the present invention can beimplemented in numerous ways, including as a process, an apparatus, asystem, a device, a method, or a computer readable medium such as acomputer readable storage medium or a computer network wherein programinstructions are sent over optical or electronic communication links.Several inventive embodiments of the present invention are describedbelow.

[0011] Disseminating to a participant an indication that an itemaccessible by the participant via a network is of current interest isdisclosed. In one embodiment, an indication that the item is of currentinterest is received in real time. The indication is processed. Theparticipant is informed that the item is of current interest.

[0012] In one embodiment, a computer is configured to receive in realtime an indication that an item is of current interest; process theindication; and inform a participant that the item is of currentinterest. A database, associated with the computer, is configured tostore data relating to the item.

[0013] In one embodiment, a computer program product for disseminatingto a participant an indication that an item accessible by theparticipant via a network is of current interest comprises computerinstructions for receiving in real time an indication that the item isof current interest; processing the indication; and informing theparticipant that the item is of current interest.

[0014] These and other features and advantages of the present inventionwill be presented in more detail in the following detailed descriptionand the accompanying figures, which illustrate by way of example theprinciples of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The present invention will be readily understood by the followingdetailed description in conjunction with the accompanying drawings,wherein like reference numerals designate like structural elements, andin which:

[0016]FIG. 1 is a schematic diagram illustrating a system used in oneembodiment to alert users to dynamic content of interest at the time ofthe alert (also referred to herein as an “item of current interest”).

[0017]FIG. 2A is a series of three screen shots showing three differentstates of an alert submission display 200 used in one embodiment.

[0018]FIG. 2B is an illustration of the data structure used in oneembodiment for alerts submitted by an alerting user.

[0019]FIG. 3 is a flow chart illustrating a process used in oneembodiment to alert users of items of current interest.

[0020]FIG. 4 is a flow chart illustrating a process used in oneembodiment to receive an alert, as in step 302 of FIG. 3.

[0021]FIG. 5 is an illustration of the data structure used in oneembodiment for the alert object.

[0022]FIG. 6 is a flowchart illustrating a process used in oneembodiment to process an alert, as in step 304 of FIG. 3.

[0023]FIG. 7 is an illustration of six database tables 700 used in oneembodiment to store data concerning alerts received with respect toitems of current interest associated with URLs.

[0024]FIG. 8A is a flowchart illustrating a process used in oneembodiment to update the intensity sum for a URL, as in step 606 of FIG.6.

[0025]FIG. 8B is a flowchart illustrating a process used in oneembodiment to update the intensity rank for a URL to reflect theintensity of the current alert.

[0026]FIG. 8C is a flowchart illustrating a process used in oneembodiment to update the interest category weight for a URL with respectto the interest category indicated in an alert.

[0027]FIG. 9 is a flowchart illustrating a process used in oneembodiment to purge records for URLs that are determined to be no longerof current interest by calculating a time decayed intensity rank atintervals, even if no new alert has been received, and purging from thedatabase the records for a URL if the time decayed intensity rank isbelow a prescribed threshold.

[0028]FIG. 10 is a flowchart illustrating a process used in oneembodiment to disseminate an alert to a participant, as in step 306 ofFIG. 3.

[0029]FIG. 11 shows an exemplary participant display 1100 used in oneembodiment to disseminate alert information to a participant.

[0030]FIG. 12 is a flowchart illustrating a process used in oneembodiment to build a list of hot URLs responsive to a request, as instep 1008 of FIG. 10.

DETAILED DESCRIPTION

[0031] A detailed description of a preferred embodiment of the inventionis provided below. While the invention is described in conjunction withthat preferred embodiment, it should be understood that the invention isnot limited to any one embodiment. On the contrary, the scope of theinvention is limited only by the appended claims and the inventionencompasses numerous alternatives, modifications and equivalents. Forthe purpose of example, numerous specific details are set forth in thefollowing description in order to provide a thorough understanding ofthe present invention. The present invention may be practiced accordingto the claims without some or all of these specific details. For thepurpose of clarity, technical material that is known in the technicalfields related to the invention has not been described in detail so thatthe present invention is not unnecessarily obscured.

[0032]FIG. 1 is a schematic diagram illustrating a system used in oneembodiment to alert users to dynamic content of interest at the time ofthe alert (also referred to herein as an “item of current interest”).The system 100 includes at least one alerting user 102 who accessesdynamic content associated with a uniform resource locator (URL),determines the content is of current interest, and sends an alertindicating that the URL is of current interest, as described more fullybelow. The system 100 also includes at least one participant 104. In oneembodiment, participant 104 provides an indication of the participant'sinterests and receives a list of URLs providing the location of dynamiccontent, such as web content on the World Wide Web, that may be ofinterest to the participant at the time of the alert, as described morefully below. Both the alerting user 102 and the participant 104 areconnected to a web server 105 via the Internet. Web server 105 is acomputer system configured to present web pages and other web browserreadable file, and to receive data from users, via the World Wide Web.Web server 105 is connected to an application server 106 and isconfigured to provide data to and receive data and instructions fromapplication server 106. Application server 106 is configured to performthe application logic functions described more fully below. In oneembodiment, the functions performed by the application server, asdescribed more fully below, are divided among two or more computers soas to optimize the distribution of work load among the computers and tominimize the time the system takes to respond to inputs and queries fromusers.

[0033] When an alert has been received and is being processed, asdescribed more fully below, the application server 106 comprises analert software object 108 used to store data relating to and performcertain processing with respect to an alert, as described more fullybelow. The alert software object 108 uses data provided in an alert sentby alerting user 102, along with data retrieved from database 110associated with the application server 106, to process the alert.Certain of the data that results from the processing performed by alertsoftware object 108 is then stored in database 110. In one embodiment,database 110 is stored in memory in application server 106. In oneembodiment, database 110 is stored in a separate structure, such as adatabase server, connected, either directly or through a communicationlink, with application server 106.

[0034] In one embodiment, when a request from a participant for a listof URLs for items of current interest is received, the applicationserver 106 comprises a hot list software object 112 used to storecertain data concerning and perform certain operations with respect tothe request from the participant and the response thereto. In oneembodiment, the hot list object 112 comprises an interest category array114. In one embodiment, the interest category array 114 is comprised ofone or more interest category objects, each of which stores datarelating to one interest category identified in the participant'srequest as being of interest to the participant. In one embodiment, thehot list object 112 comprises a hot token array 116. The hot token array116 is comprised of a hot token object for each URL of current interestin the database for the category or categories indicated in theparticipant's request.

[0035] As indicated in FIG. 1, an alert sent by an alerting userincludes, in one embodiment, at least the URL of the web contentconsidered by the alerting user to be of current interest. In oneembodiment an alert may also include an interest selection, meaning acategory or subject area to which the alerting user believes the webcontent relates, and/or a caption in which the alerting user may providetext indicating what the alerting user believes to be of currentinterest in the web content.

[0036]FIG. 2A is a series of three screen shots showing three differentstates of an alert submission display 200 used in one embodiment. Oneview is comprised of blank alert submission display 202. Blank alertsubmission display 202 includes a submission button 204 used to submitan alert with respect to the URL of the web content currently beingaccessed by the alerting user. Blank alert submission display 202 alsoincludes an interest category selection area 206. In one embodiment, asillustrated in FIG. 2A, the interest category selection area 206 isconfigured as a pull down menu activated by selecting the downward arrowon the right side of interest category selection area 206. Blank alertsubmission display 202 also includes a caption area 208 in which analerting user may enter text associated with the alert, such as textindicating why the alerting user believes the URL to be of currentinterest. As shown in interest category selection display 212, when thedownward arrow button on the right side of interest category selectionarea 206 is selected, a pull down menu 214 is presented, and an alertinguser may select one of the interest categories listed in the pull downmenu 214 in the manner well known in the art. As shown in the completedalert submission display 222 of FIG. 2A, the interest category selectedby the alerting user is shown in the interest category selection area206. In the example shown in FIG. 2A, the category selected is “NATURE”.In addition, the caption entered by the alerting user, the comment“rhino!” in the example shown in FIG. 2A, appears in the caption area208 of the alert submission display. As noted above, the alerting partyposts the alert to the application server via the Internet and the webserver by selecting the submission button 204.

[0037]FIG. 2B is an illustration of the data structure used in oneembodiment for alerts submitted by an alerting user. The alert includesan ALERTER_ID field 240 in which data identifying the alerting user isprovided. The alert also includes a URL field 242 in which the URL ofthe web content or other electronic resource being accessed by thealerting user when the alert was sent is stored. The alert also includesan INTEREST SELECTION field 244 in which the interest category selectedby the alerting user, if any, is provided. Finally, the alert includes aCAPTION field 246 in which the caption entered by the alerting user, ifany, is provided.

[0038]FIG. 3 is a flow chart illustrating a process used in oneembodiment to alert users of items of current interest. The processbegins in step 302 in which an alert indicating that an item is ofcurrent interest is received. Next, in step 304, the alert is processed.Finally, in step 306, the alert is disseminated to one or moreparticipants, as described more fully below.

[0039]FIG. 4 is a flow chart illustrating a process used in oneembodiment to receive an alert, as in step 302 of FIG. 3. The processbegins with step 402 in which a transmission comprising an alert isreceived from an alerting user. As noted above, in one embodiment analert includes at least the URL of the web content being accessed by thealerting user at the time the alert was sent. In one embodiment, asdescribed above, the alert also includes data indicating the identity ofthe alerting user. In addition, as noted above, the alert may include,at the option of the alerting user, an interest selection and/or acaption for the alert. The process shown in FIG. 4 continues with step404 in which a new alert software object is created at the applicationserver, such as application server 106 of FIG. 1. Next, in step 406, thedata provided in the alert is stored in the alert object. In step 408, atime stamp indicating the time when the alert was received is stored inthe alert object. Finally, in step 410, an ALERT_ID, which uniquelyidentifies the alert and distinguishes the alert and its associatedobject from other alerts and their associated objects, is obtained andstored in the alert object.

[0040]FIG. 5 is an illustration of the data structure used in oneembodiment for the alert object. Data field 502 is used to store theALERT_ID described above. Data field 504 is used to store the time stampdescribed above. Data fields 506-512 are used to store the ALERTER_ID,URL, INTEREST SELECTION, and CAPTION described above, respectively.ALERT INTENSITY field 514 is used to store a number indicating theintensity or weight to be afforded to the incoming alert. The ALERTINTENSITY is determined as described below. The alert object also storesproperties retrieved from various database tables, described more fullybelow. For example, the alert object includes a LAST_TIME field 516 usedto store data retrieved from the database indicating the time of themost recent prior alert. The alert object also includes an LAST_RANKfield 518 used to store a numerical ranking retrieved from the databasethat indicates the overall level or degree of current interest of anitem as indicated by all of the alerts that have been submitted withrespect to a URL during the current period of activity with respect tothe URL through the most recent prior alert. The alert object alsoincludes a LAST_WEIGHT field 520 used to store data retrieved from adatabase table, as described below, that represents the number of prioralerts received for the URL in the interest category indicated by thecurrent alert, as described more fully below. The alert object alsoincludes a LAST_INTENSITY_SUM field 522 in which the sum of theintensities of all prior alerts for the URL during the current period ofactivity with respect to the URL, which sum is retrieved from a databasetable described more fully below, is stored. Finally, the alert objectincludes a LAST_NORMAL_TIME field 524 used to store the time, retrievedfrom a database table as described more fully below, when the lastnormalization calculation was performed.

[0041]FIG. 6 is a flowchart illustrating a process used in oneembodiment to process an alert, as in step 304 of FIG. 3. The processbegins with step 602 in which the intensity of the alert is determined.The term intensity as used herein refers to the weight or value to beassigned to a particular alert regarding an item. In one embodiment, theintensity is a value between 0 and 1. In one embodiment, the valueassigned for the intensity is higher if the alerting user selects aninterest category for the alert than it would have been if the samealerting party had not selected an interest category. In one embodiment,the intensity value is higher if the alerting party provides a captionfor the alert than it would have been if the alerting party had notprovided a caption. In one embodiment, the intensity of an alert isincreased if it is determined that the alerting party is a party thathas provided particularly relevant or helpful alerts in the past, or istrusted for some other reason, such as expertise, academic credentials,or reputation within a particular community of interest. In oneembodiment, the intensity of an alert is decreased if it is determinedthat the alerting party has provided unhelpful or erroneous alerts inthe past, or if it is determined that the alerting party cannot betrusted as much as other alerting parties for other reasons, such asreputation in the relevant community. In one embodiment, it is possibleto provide both an active alert by selecting an alert button and toprovide a passive alert by merely accessing a URL with respect to whichan alerting party previously submitted an active alert. In oneembodiment, an active alert is assigned a higher intensity value than apassive alert.

[0042] For example, a passive alert may be arbitrarily assigned abaseline intensity value of 0.3 and an active alert a baseline intensityvalue of 0.5. For an active alert, 0.1 could be added for each of thefollowing conditions that is satisfied by the alert: an interestcategory selection was included in the alert; a caption was included inthe alert; and/or the source of the alert is particularly trusted.Conversely, 0.1 could be subtracted from the intensity of an alert froma source known to be unreliable. Alternatively, alerts from sourcesknown to be unreliable may be blocked and not assigned any intensityvalue.

[0043] The process illustrated in FIG. 6 continues with step 604 inwhich data values for the alert object data fields described above thatare not included in the alert transmission received from the alertingparty are retrieved from the database.

[0044] Next, in step 606, the intensity sum for the URL, which is thesum of the intensity values for all of the alerts with respect to theURL, is updated. Next, in step 608, the intensity rank for the URL isupdated to reflect the new alert. In step 610, the interest weightvalue, which represents the number of alerts for a particular URL inwhich a particular category of interest was indicated, is updated.Finally, in step 612, the updated data values are stored to thedatabase.

[0045]FIG. 7 is an illustration of six database tables 700 used in oneembodiment to store data concerning alerts received with respect toitems of current interest associated with URLs. The database tables 700include an INTEREST_ID table 702 used to provide a unique identifier,labeled INTEREST_ID in FIG. 7, for each interest category, denominatedINTEREST_CAT in FIG. 7. Database tables 700 also include a URL_ID table704 used to provide a unique identifier, labeled URL_ID in FIG. 7, foreach URL.

[0046] Database tables 700 also include an INTERESTS table 706 used tostore the interest weight, denominated WEIGHT in FIG. 7, for eachinterest category with respect to which an alert has been submitted fora URL. As noted above, in one embodiment, the weight is the total numberof alerts received within a given interest category for a URL. Forexample, if five alerts indicating the interest category People andthree alerts indicating the interest category Nature have been submittedfor a URL, there will be two entries for the URL in the interest table,one for each interest category. The weight in the entry for the categoryPeople would be “5” and the weight for the URL in the category Naturewould be “3”.

[0047] The database tables 700 also include a RANK, table 708 used tostore a rank value for each URL associated with an item of currentinterest, a time stamp when the rank was last calculated, and a dataentity denominated NUM_ALERT in FIG. 7, which represents the totalnumber of alerts submitted for the URL.

[0048] The database tables 700 also include a COMMENTS table 710 used tostore any comment submitted with an alert and to associate each commentwith the corresponding URL. Finally, the database table 700 include aNORMALIZE table 712 used to store the sum of the intensities of thealerts submitted for a URL (INTENSITY_SUM) and a time stamp indicatingwhen the last normalization was performed.

[0049]FIG. 8A is a flowchart illustrating a process used in oneembodiment to update the intensity sum for a URL, as in step 606 of FIG.6. The process begins with step 802 in which the current intensity sumis retrieved from the database, as in step 604 of FIG. 6. If there is noexisting record for the URL in the NORMALIZE table (i.e., the alertbeing processed is the first alert for the URL), a URL_ID is assignedfor the URL, a record for the URL is created in the NORMALIZE table, andthe retrieved current intensity sum is set to zero. Next, in step 804,the intensity sum is incremented by the amount of the intensity of thecurrent alert. For example, if the previous intensity sum was 4.7 andthe intensity for the current alert was 0.5, the intensity sum would beincremented to the value of 4.7+0.5=5.2. Finally, in step 806, theintensity sum time stamp stored in NORMALIZE table 712 shown in FIG. 7(which is the same as the LAST_NORMAL_TIME stored in field 524 of FIG.5) is updated to the time stamp of the current alert. In one embodiment,the intensity sum is updated, and a normalization is performed asdescribed more fully below, each time a new alert is received for a URL.In such an embodiment, the time stamp stored in the NORMALIZE table 712of FIG. 7 will be the same as the time stamp stored in the RANK table708 of FIG. 7, as both the rank and the intensity sum are updated eachtime an alert is received.

[0050]FIG. 8B is a flowchart illustrating a process used in oneembodiment to update the intensity rank for a URL to reflect theintensity of the current alert. The process begins with step 822 inwhich the current intensity rank is retrieved from the database, as instep 604 of FIG. 6. As shown in FIG. 7, in one embodiment, this value isretrieved from the RANK table 708. If there is no entry in the RANKtable for the URL, i.e., the alert being processed is the first alertfor the URL, a record in the RANK table is created for the URL(identified by the URL_ID assigned to the URL) and the current intensityrank is set to zero. Next, in step 824, the intensity rank is updated toreflect the intensity of the current alert. In one embodiment, if thecurrent alert has been received within a predetermined time interval τafter the last alert for the URL, the updated intensity rank is afunction of the last rank and the intensity of the current alert inaccordance with the following formula:

r′=(k−r)*I _(alert) +r

[0051] Where k is the maximum intensity value, which as noted above isone in one embodiment, r is the last rank, r′ is the updated rank, andI_(alert) is the intensity value for the current alert. Restating theformula to reflect the fact that in one embodiment, the maximumintensity level k=1, the formula becomes:

r′=(1−r)*I _(alert) +r

[0052] If an alert is the first alert received for a URL, the last rankis considered to be zero (r=0) and the above formula results in the newrank being equal to the intensity value for the current alert. Forexample, if the intensity value for the current alert is 0.5, theupdated heat rank r′=(1−0)*0.5+0=0.5. If a subsequent alert of intensity0.6 is received, the formula results in the updated intensity rank beingcalculated as follows:

r′=(1−0.5)*0.6+0.5=0.8

[0053] As the example illustrates, so long as additional alerts arereceived within the time interval each incoming alert will cause theintensity rank for the URL to increase until the intensity rankapproaches the maximum intensity value k (in the example, the rank wouldapproach k=1). The speed with which the intensity rank for a particularURL approaches the maximum value k depends on the intensity value of theincoming alerts and the frequency with which alerts are received.

[0054] In one embodiment, if the predetermined time interval τ referredto above has expired between the last alert and the current alert, theupdated intensity rank is calculated by a modified formula which reducesthe updated intensity rank in accordance with an exponential decayfunction that effectively adjusts the updated intensity rank downward toaccount for the passage of time between the last alert and the currentalert. All other things being equal, this adjustment would result in asite that received alerts more frequently to have a higher rank than asite that received alerts separated by more than the predetermined timeinterval. To determine the updated intensity rank as adjusted for thepassage of time, the following formula is used in one embodiment:

r′=[(k−r)*I _(alert) +r]*e ^(−a(Δt−t)).

[0055] In this formula, k, r, and I_(alert) are the same as above, a isthe weight assigned to the decay function (a higher value for a willresult in a greater amount of decay per unit time), Δt is the amount oftime that has elapsed between the current alert and the previous alert,and τ is the predetermined time interval referred to above.

[0056] In one embodiment, the updated intensity rank is normalized bymultiplying the updated intensity rank by two factors. The first factoris a low frequency enhancement factor designed to enhance the intensityrank of URLs with respect to which alerts are received relatively lessfrequently relative to the intensity rank of URLs regarding which alertsare received more frequently. The purpose of this enhancement factor isto ensure that sites that are of current interest only from time to timeare not masked by the intensity ranking calculated for sites that are ofcurrent interest more frequently. In one embodiment, the low frequencyenhancement factor is the time of the current alert minus the time ofthe last update to the intensity rank.

[0057] The second factor by which the updated intensity rank ismultiplied is a low volume enhancement factor The purpose of this factoris to ensure that the intensity rank of URLs that are of currentinterest only to a smaller community of users will not be overshadowedby the intensity rank of URLs that are of current interest to a largecommunity. In one embodiment, the low volume enhancement factor is theinverse of the intensity sum for the URL. Accordingly, in oneembodiment, the normalized intensity rank is determined by the followingformula:

r″=r′*(t _(current) −t _(first))*1/n

[0058] Where r″=normalized intensity rank

[0059] r′=updated intensity rank before normalization

[0060] t_(current)=timestamp of current alert

[0061] t_(first)=timestamp of first alert for URL

[0062] n=intensity sum=sum of all alert intensities for URL

[0063] Once the intensity rank has been updated and normalized, theprocess shown in FIG. 8B continues with step 826 in which the timestamps for the normalization and intensity rank tables are updated tothe time stamp of the current alert.

[0064]FIG. 8C is a flowchart illustrating a process used in oneembodiment to update the interest category weight for a URL with respectto the interest category indicated in an alert. The process begins withstep 842 in which the database is queried to determine if a recordexists for the URL for the interest category indicated in the alert. Instep 844, it is determined whether the query performed in step 842identified an existing database table entry for the URL for the interestcategory indicated in the alert (i.e., whether a prior alert indicatedthe same interest category for the URL). If it is determined in step 844that a database entry does not exist for the interest category withrespect to the URL, the process proceeds to step 846 in which a recordin the INTEREST table is created for the URL with respect to theinterest category of the alert. The process then proceeds to step 850 inwhich the weight value is incremented for the URL with respect to theinterest category by increasing the value from zero to one for the newrecord.

[0065] If it is determined in step 844 that there is an existing recordfor the interest category for the alert with respect to the alert URL,the process proceeds to step 848 in which the weight value stored in therecord is retrieved. The process then continues to step 850 in which theretrieved weight is incremented by one to reflect the current alert. Forexample, if the retrieve weight were 7, the weight would be incrementedto 8 in step 850 to reflect the current alert.

[0066]FIG. 9 is a flowchart illustrating a process used in oneembodiment to purge records for URLs that are determined to be no longerof current interest by calculating a time decayed intensity rank atintervals, even if no new alert has been received, and purging from thedatabase the records for a URL if the time decayed intensity rank isbelow a prescribed threshold. The process shown in FIG. 9 begins withstep 902 in which the intensity rank for a URL is retrieved. In oneembodiment, the intensity rank is retrieved and process shown in FIG. 9is performed, at a predetermined arbitrary time interval τ.

[0067] The process shown in FIG. 9 continues with step 904 in which anintensity rank adjusted for time decay is calculated for the URL. In oneembodiment, the time decayed intensity rank is determined by thefollowing formula:

r _(t) =e ^(−a(Δt−r)) *r

[0068] Where

[0069] r_(t)=time decayed intensity rank

[0070] a=weight of decay function

[0071] Δt=time elapsed since last alert

[0072] τ=predetermined time interval referred to above

[0073] r=stored intensity rank

[0074] As can be seen from the above formula, the time decayed intensityrank decays exponentially over time if no new alerts are received. If itis determined in step 906 of the process shown in FIG. 9 that the timedecayed intensity rank is below the intensity rank threshold, theprocess proceeds to step 908 in which the record for the URL is deleted.If it is determined in step 906 that the time decayed intensity rank isnot below the intensity rank threshold, the process proceeds to step 910in which the intensity rank as stored in the database is left unchanged.

[0075]FIG. 10 is a flowchart illustrating a process used in oneembodiment to disseminate an alert to a participant, as in step 306 ofFIG. 3. The process begins with step 1002 in which a request containinginterest category filter selections made by the participant is received.Next, in step 1004, a hot list software object is created at theapplication server, as shown in FIG. 1 and described above. Then, instep 1006, an array of interest categories, such as the interestcategory array 114 described above with respect to FIG. 1, is createdwithin the hot list object. Next, in step 1008, a list of hot URLsresponsive to the request is built. Finally, in step 1010, the list ofhot URLs responsive to the request is sent to the participant.

[0076]FIG. 11 shows an exemplary participant display 1100 used in oneembodiment to disseminate alert information to a participant. Thedisplay 1100 includes a URL entry and display area 1102. The URL for theweb content or other electronic resource currently being accessed by theparticipant is displayed in the URL entry and display area 1102, and theparticipant may enter the URL for the web content or other electronicresource the participant wishes to access manually in the URL entry anddisplay area 1102, as in the URL or address field for a World Wide Webbrowser. The display 1100 also includes a content display area 1104 inwhich the web or other content for the URL listed in URL entry anddisplay area 1102 is displayed. For example, if the URL is the URL ofweb content accessed via the Internet, the web content associated withthe URL will be displayed in URL display area 1104.

[0077] The display 1100 also includes an interest category filterselection area 1106 in which interest categories are listed along with acheck box for each category listed. The participant selects the checkbox for each interest category for which the participant would like URLsof current interest to be included in the participant's hot list.

[0078] In one embodiment, filter selection area 1106 includes for eachcategory a sensitivity entry area (not shown in FIG. 11) to be used toprovide an indication of the participant's degree or level of interest.For example, in one embodiment a participant may enter a whole numberfrom 1 to 5, with 1 indicating the lowest level of sensitivity (e.g.,the participant does not want to receive a notification regarding a URLin the category unless a significant number of alerts have been receivedregarding the URL, or only when the intensity rank for the URL exceeds apredetermined, relatively high threshold) and 5 representing the highestlevel of sensitivity (e.g., the participant wants to receive anotification even if there has only been one or relatively few alertsconcerning a URL, or if one or more alerts have been received but theintensity rank for the URL is relatively low).

[0079] In one embodiment, a request is sent to the application serverautomatically at predetermined intervals. The request contains theinterest categories that are in the selected state at the time therequest is sent. In one embodiment, the display 1100 includes a submitbutton (not shown in FIG. 11) that, when selected, causes a requestcontaining the interest categories selected by the participant at thetime to be posted to the application server via the Internet.

[0080] The display 1100 also includes a hot list display area 1108 inwhich the hot list of URLs returned by the system to the participant inresponse to a request is presented. As shown in FIG. 11, in oneembodiment, each URL is represented by a hypertext link that, whenselected, causes the URL of the listed cite to appear in the URL entryand display area 1102 and the content associated with the URL to bedisplayed in the URL display area 1104.

[0081] In one embodiment, the display 1100 is modified to include analert submission display area such as the alert submission display shownin FIG. 2A. This would permit a participant to send an active alert tothe application server if the participant encounters a URL of currentinterest.

[0082]FIG. 12 is a flowchart illustrating a process used in oneembodiment to build a list of hot URLs responsive to a request, as instep 1008 of FIG. 10. The process begins with step 1202 in which allURLs of current interest within the categories indicated in the requestare found.

[0083] Next, in step 1204, a “hot token” object is created in a hottoken array within the hot list object for each URL found in step 1202,as described above with respect to hot token array 116 shown in FIG. 1.Each hot token object holds the URL_ID, the WEIGHT for the URL withrespect to the interest category indicated in the request, the sum ofthe WEIGHT values for each category associated with the URL in thedatabase, and the intensity rank (RANK) for the URL.

[0084] Next, in step 1206, a list rank is determined for each URLretrieved in response to the request. In one embodiment, a list rankvalue is calculated for each URL and is used to determine the list rank(or the order in which the responsive URLs will be placed to determinewhich URLs will be provided). In one embodiment, an initial list rankvalue is calculated for each URL based on the interest categoryweight(s) for the URL with respect to the interest category orcategories in the request, along with the interest weight for anyinterest category or categories that are associated with the URL in thedatabase but which are not among the categories indicated in therequest. In one embodiment, the initial list rank value “v” of a URLnumber “n” (v_(n)) is calculated according to the following formula:$v_{n} = \frac{\sum\sqrt{f_{k}}}{\sum\sqrt{f_{m}}}$

[0085] Where v_(n)=initial list rank value of URL “n”

[0086] f_(k) _(⁼) =interest weight for URL for each request category

[0087] f_(m)=interest weight for each category associated with URL indatabase

[0088] For example, if at the time of the request there had been tenalerts submitted for a particular URL and three of the alerts wereassociated with a first category, two with a second category and fivewith a third category, and if a request were received that includedamong the request categories the first and third categories, the initiallist rank value “v” for URL number “n” calculated in accordance with theabove formula would be as follows:$v_{n} = {\frac{\sqrt{3 +}\quad \sqrt{5}}{\sqrt{3} + \sqrt{2} + \sqrt{5}} \approx 0.74}$

[0089] It should be noted that the use of the square root of the weightfor each category tends to give relatively greater effect to the weightof interest categories associated with the URL by a minority of alertingusers because using the square root reduces the net effect of thegreater weight value associated with interest categories indicated bythe majority of alerting users. As with the normalization of theintensity rank described above, this has the effect of giving morevisibility to matters of interest to a relatively smaller community.

[0090] In an embodiment in which the participant indicates a level ofsensitivity with respect to each selected interest category, asdescribed above, the formula for the initial list rank value is modifiedto take into consideration the sensitivity “s” indicated for eachcategory of interest. In one embodiment, the initial list rank valueformula is modified as follows:$v_{n} = \frac{\sum\sqrt{s_{k}*f_{k}}}{\sum\sqrt{s_{m}*f_{m}}}$

[0091] Where v_(n)=initial list rank value of URL “n”

[0092] f_(k) _(⁼) =interest weight for URL for each request category

[0093] f_(m)=interest weight for each category associated with URL indatabase

[0094] s_(k)=sensitivity indicated for request category “k”

[0095] s_(m)=sensitivity indicated for request category corresponding tointerest category “m”, if any (s_(m)=1 for interest categories not inrequest).

[0096] For example, in the example described above, assume theparticipant indicated a sensitivity level of 1 with respect to the firstcategory and 5 with respect to the third category, the initial list rankvalue would be calculated as follows:$v_{n} = {\frac{\sqrt{1*3} + \sqrt{5*5}}{\sqrt{1*3} + \sqrt{1*2} + \sqrt{5*5}} \approx 0.83}$

[0097] (As noted above, the sensitivity level s_(m) used for the secondcategory, having weight “2” in the denominator, is set at “1” because inthe example the participant did not select that category.)

[0098] The initial list rank value determined by this calculation (0.83)is greater than the initial list rank value found in the abovecalculation of an initial list rank value in an embodiment in whichsensitivity levels are not assigned or considered (0.74). Thisillustrates the effect of assigning sensitivity levels. The initial listrank value determined in the second calculation, which takes intoaccount a sensitivity level for each category, is higher than it wouldhave been found to be without regard to sensitivity because theparticipant indicated a higher sensitivity for one of the categorieswith respect to which alerts had been received for the URL.

[0099] In this way, high-sensitivity users are more likely to becomeaware of and access a URL with respect to which one or more alerts havebeen received in a category for which the user has indicated a highsensitivity. If such a high-sensitivity users chose to send alerts oftheir own with respect to the URL, such activity would increase theintensity rank for the URL (as described above) and would tend topropagate the original alert or alerts to lower-sensitivity users(because the intensity rank is factored into the final list rank used toidentify the final list of URLs to be provided to a participant, asdescribed below). If such lower-sensitivity users were to send even morealerts, the original alerts would be further propagated to evenlower-sensitivity users, and so on.

[0100] In one embodiment, the initial list rank value determined by theinterest category weights, as described above, is used along with theintensity rank for the URL to calculate a final list rank value for theURL. In one embodiment, the final list rank value for URL number “n” iscalculated in accordance with the following formula:

v _(n) ′=r _(n)(α+(1−α)v _(n))

[0101] Where

[0102] v_(n)′=final list rank value

[0103] r_(n)=intensity rank for URL

[0104] α=weight factor (0≦α≦1)

[0105] v_(n)=initial list rank value

[0106] In the above equation, the weight factor α determines therelative weight afforded to the intensity rank for the URL and theinitial list rank calculated based on the interest category weights asdescribed above. If the value for α is selected to be 1, the final listrank would be equal to the intensity rank for the URL and the initiallist rank would not factor into the final list rank at all. Therefore, ahigher weight factor will tend to increase the influence of theintensity rank for the URL and decrease the effect of the initial listrank. Stated another way, a low weight factor tends to give more effectto the extent to which the interest categories associated with the URLin the database match the interest categories indicated in the requestfrom the participant. Conversely, a higher weight factor tends to givegreater effect to the overall popularity of the URL as measured by theintensity rank.

[0107] Once the list rank for each retrieved URL has been calculated instep 1206, in step 1208 the retrieved URLs are sorted by list rank.Then, in step 1210, the top ten URLs by list rank are selected as thehot list of URLs to be sent to the participant in response to therequest. The number ten is an arbitrary number and either a fewer numberor greater number of URLs may be included.

[0108] Although the foregoing invention has been described in somedetail for purposes of clarity of understanding, it will be apparentthat certain changes and modifications may be practiced within the scopeof the appended claims. It should be noted that there are manyalternative ways of implementing both the process and apparatus of thepresent invention. Accordingly, the present embodiments are to beconsidered as illustrative and not restrictive, and the invention is notto be limited to the details given herein, but may be modified withinthe scope and equivalents of the appended claims.

What is claimed is:
 1. A method of disseminating to a participant anindication that an item accessible by the participant via a network isof current interest, comprising: receiving in real time an indicationthat the item is of current interest; processing the indication; andinforming the participant that the item is of current interest.
 2. Themethod of claim 1 wherein processing the indication comprisesdetermining an intensity value for the indication based on at least oneattribute of the indication, the intensity value representing the weightthat will be given to the indication.
 3. The method of claim 2 whereinprocessing the indication further comprises calculating an intensityrank for the item based at least in part on the intensity value of theindication, the intensity rank indicating the level of current interestof the item relative to other items.
 4. The method of claim 3, furthercomprising: associating the item with a category of interest to whichthe item relates; receiving from the participant a selection of one ormore categories of interest to the participant; identifying all items ofcurrent interest within the selected categories; ranking the identifieditems of current interest; and sending to the participant a list ofitems of current interest in rank order, the list including at least oneof the identified items of current interest; wherein the ranking of eachitem is based, at least in part, on the level of current interest ofeach item relative to other items as indicated at least in part by theintensity rank.
 5. The method of claim 1, further comprising receiving acomment relating to the item.
 6. The method of claim 1, furthercomprising receiving data identifying the source of the indication. 7.The method of claim 1, further comprising associating the item with acategory of interest to which the item relates.
 8. The method of claim7, wherein the item is associated with a category of interest identifiedby the source of the indication of current interest.
 9. The method ofclaim 1, wherein the item is one of a plurality of items of currentinterest, further comprising: associating the item with a category ofinterest to which the item relates; receiving from the participant aselection of one or more categories of interest to the participant; andidentifying all items of current interest within the selectedcategories.
 10. The method of claim 9, further comprising: ranking theidentified items of current interest; and sending to the participant alist of items of current interest in rank order, the list including atleast one of the identified items of current interest.
 11. The method ofclaim 10, wherein the ranking of each item is based, at least in part,on the extent to which the categories selected by the participant matchthe categories associated with the item.
 12. The method of claim 9,further comprising receiving an indication of the participant'ssensitivity with respect to each category of interest to theparticipant, whereby an indication of a relatively low level ofsensitivity indicates the participant does not want to be informed thatan item is of current interest unless one or more indications have beenreceived that indicate a relatively high level of current interest withrespect to an item in the corresponding category and an indication of arelatively high level of sensitivity indicates the participant wants tobe informed that an item is of current interest even if only oneindication indicating a relatively low level of current interest hasbeen received with respect to an item in the corresponding category. 13.The method of claim 12, further comprising: ranking the identified itemsof current interest; and sending to the participant a ranked listincluding at least one of the identified items of current interest;wherein the ranking of each item is based, at least in part, on thesensitivity of the participant with respect to each category associatedwith the item.
 14. The method of claim 1, wherein the item is identifiedby a Uniform Resource Locator (URL).
 15. The method of claim 1, furthercomprising storing data relating to the indication in a database. 16.The method of claim 1, further comprising determining the weight to begiven to the indication.
 17. The method of claim 1, wherein theindication is received automatically if a participant accesses the item.18. The method of claim 1, further comprising providing one or moreparticipants with an interface to send an indication that an item is ofcurrent interest.
 19. A system for disseminating to participants anindication that an item accessible by the participant via a network isof current interest, comprising: a computer configured to receive inreal time an indication that the item is of current interest; processthe indication; and inform the participant that the item is of currentinterest; and a database, associated with the computer, configured tostore data relating to the item.
 20. A computer program product fordisseminating to a participant an indication that an item accessible bythe participant via a network is of current interest, the computerprogram product being embodied in a computer readable medium andcomprising computer instructions for: receiving in real time anindication that the item is of current interest; processing theindication; and informing the participant that the item is of currentinterest.